precomposition functor